Advances in technology have enabled the introduction of mobile devices that feature an ever increasing set of capabilities. Smartphones, for example, now offer sophisticated computing and sensing resources together with expanded communication functionality. Likewise, tablets, wearables, media players and other similar devices have shared in this progress. Notably, it is desirable and increasingly common to provide a mobile device with digital imaging functions. However, implementations in a mobile device may be particularly susceptible to degradation in quality caused by motion while the video is being recorded. In particular, a camera incorporated into a mobile device is often hand held during use and, despite efforts to be still during image recording, shaking may occur. Since such mobile devices may also be equipped with motion sensing capabilities, techniques exist for using inertial sensor data to improve the quality of images captured using the mobile device to address this issue. For example, video being recorded by the mobile device may be stabilized or otherwise compensated using detected motion.
The video stabilization requires that the image sensor data and the inertial or motion sensor data are perfectly synchronized. However, most often the raw image sensor data and the raw motion sensor data are not perfectly synchronized and may therefore require a synchronization correction. Some devices may have dedicated hardware lines for the purpose of synchronization. However, such hardware solutions are not always available. Accordingly, it would be desirable to provide methods and systems for the synchronization to be performed purely based on analysis of the sensor data. This disclosure satisfies these and other needs.